//1. 引入fs模块  
const fs = require('fs');

// 获取类型
let stat = (filename) => {
  return new Promise((res, rej) => {
    // 调用fs.stat方法，传入文件，通过回调函数处理data对象  
    fs.stat(filename, (err, data) => {
      if (err) {
        console.log('err -----');
        console.log(err);
        rej(err)
        return
      }

      //3. 调用 isFile()方法判断是否为文件  
      console.log(`is file: ${data.isFile()}`)
      //4. 调用 isDirectory()方法判断是否为目录  
      console.log(`is directory: ${data.isDirectory()}`)
      
      let str = ""
      if (data.isDirectory()) {
        str = "目录"
      }else if (data.isFile()) {
        str = "文件"
      }else{
        str = "什么也不是"
      }

      res(str)
    })
  })
}

let write = (path, text) => {
  return new Promise( (res, rej) => {
    // res("path:" + path)
    fs.writeFile(path, text, error => {
      console.log('开始 fs');
      if (error) return console.log("写入文件失败,原因是" + error.message);
      console.log("写入成功");
      res("fs ok")
    });
  } )
}

let append = (path, text) => {
  return new Promise( (res, rej) => {
    // res("path:" + path)
    fs.appendFile(path, text, error => {
      // console.log('开始 fs');
      if (error) {
        console.log("追加失败");
        res(false)
      }else{
        console.log("追加成功");
        res(true)
      }
    });
  } )
}


module.exports.stat = stat
module.exports.write = write
module.exports.append = append


